<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /*
       Promise.all方法：Promise.all(promiseArr)
        promiseArr:包含n个Promise实例的数组
        说明:返回一个新的Promise实例，只有所有的promise都成功才成功，只要有一个失败了就直接失败
      Promise.race方法： Promise.race(promiseArr)
        promiseArr:包含n个Promise实例的数组
        说明:返回一个新的Promise实例，成功还是失败？以最先出结果的promise为准

    */
   const p = Promise.resolve('a')
   const p2 = new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('b')
    }, 2500);
   })
   const p3 = new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('c')
    }, 500);
   })
   // 是按照顺序输出的，先输出p2的结果再输出p3的结果， Promise.all([p2, p, p3])就是按里面的顺序来输出最终的结果
   const x = Promise.all([p2, p, p3])
   x.then(
    res => {console.log(res);},
    err => {console.log(err);}
   )
   // Promise.race([p,p2,p3])跟顺序无关谁先出结果看谁的
  </script>
</body>
</html>